package secondStage.part3.List集合;

import java.util.ArrayList;
import java.util.List;

/**
 * @ClassName: [ListFor]
 * @Description: 增强for循环
 * @Author: [黄劲松]
 * @CreateDate: [2021-04-02]
 * @Version: [v1.0]
 */
/*2.5增强for循环
增强for:简化数组和Collection集合的遍历
        实现Iterable接口的类允许其对象成为增强型for语句的目标
        它是JDK5之后出现的，其内部原理是一个Iterator迭代器
增强for的格式
for(元素数据类型变量名:数组或者Collection集合){
    //在此处使用变量即可，该变量就是元素
}
范例:
int[]arr = {1,2，3,4,5};
for(int i : arr) {
    System.out.println(i);
}
        */
public class ListFor {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5, 6, 7, 8};
        System.out.println("for循环增强：");
        for (int i : arr) {
            System.out.println(i);
        }

        System.out.println("-----------");
        String[] str = {"hello", "world", "java", "javaee"};
        for (String s : str) {
            System.out.println(s);
        }

        System.out.println("-----------");
        List<String> list = new ArrayList<String>();
        list.add("hello");
        list.add("world");
        list.add("java");
        for (String s : list) {
            System.out.println(s);
        }

        System.out.println("----其内部原理是一个Iterator迭代器-------");
//        for (String s : list) {
//            if (s.equals("world")){
//                list.add("javaee");
//            }
//        }//ConcurrentModificationException异常爆出，因此原理是迭代器
    }
}
